#pragma once 
#include<iostream>
#include<queue>
using namespace std;
namespace hcc
{
    template<class T,class container=deque<T>>
    class stack
    {
        public:
            void push(size_t x)
            {
                _con.push_back(x);
            }
            void pop()
            {
                _con.pop_back();
            }
            bool empty()
            {
                return _con.size()==0;
            }
            T& top()
            {
                return _con.back();
            }
            typename deque<T>::iterator begin()
            {
                return _con.begin();
            }
            typename deque<T>::iterator end()
            {
                return _con.end();
            }
        private:
            container _con;
    };
}
